feat: Scope3 SDK v2.0.0 - Persona-based API rebuild#114
Open
EmmaLouise2018 wants to merge 13 commits intomainfrom
Open
feat: Scope3 SDK v2.0.0 - Persona-based API rebuild#114EmmaLouise2018 wants to merge 13 commits intomainfrom
EmmaLouise2018 wants to merge 13 commits intomainfrom
Conversation
Complete rewrite of the Scope3 SDK to match the live v2 Agentic Platform API. - 3 persona-based APIs (buyer, brand, partner) with unified Scope3Client - REST and MCP adapters with Bearer token auth - 13 resource classes with full CRUD operations - 3 campaign types (bundle, performance, audience) - Bundle-based product discovery workflow - skill.md parser with bundled fallback for all 3 personas - CLI with --persona flag and commander.js - Webhook server with timing-safe auth and body validation - Input validation (validateResourceId) on all URL path parameters - 225 tests across 14 suites, all passing - Comprehensive docs (getting-started, buyer, brand, partner, CLI reference)
Remove old platform/partner workflow scripts and update-schemas.sh. Add new test scripts for buyer, brand, partner personas and a TypeScript SDK integration test. Update scripts README for v2.
Examples were using non-existent PlatformClient and outdated methods. Updated to use Scope3Client with persona-based configuration and correct resource methods. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `scope3 commands` to list all available commands at once - Add documentation link to main help output - Fix cli-reference.md to match actual CLI syntax (positional args, kebab-case) - Add Quick Start section to docs - Add YAML output format documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The build script now runs chmod +x on dist/cli/index.js so users can run ./dist/cli/index.js directly during development. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Group commands in `scope3 commands` by persona (buyer, brand, partner) with descriptions for each persona type and visual separators. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove Commander default values so config file settings take precedence - CLI flags still override config when explicitly passed - Add Quick Start section to help output - Show helpful hint when options passed without a command - Improve option descriptions to show defaults in help text Fixes issue where `scope3 config set environment staging` was ignored because Commander's default 'production' always took precedence. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix table output to properly parse API response structure
- Handle { data: [...], meta: { pagination } } responses
- Handle nested responses { data: { campaigns: [...], total } }
- Show item columns (id, name, status, etc.) instead of raw JSON
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Handle API responses like { data: {...}, error } from create/update
operations by extracting and displaying the data object fields.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace outdated changesets (referencing PlatformClient/PartnerClient) with accurate changeset describing the actual v2.0.0 architecture: - Unified Scope3Client with persona parameter - CLI with config, commands, and persona support - Migration guide from v1 Scope3AgenticClient Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rewrite TESTING.md to match v2.0.0 architecture (removed stale Simple Media Agent references) - Fix brand-guide.md pagination example to use take/skip instead of non-existent cursor API Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove phantom bundle-skill script from package.json (file doesn't exist) - Remove broken auto-update.yml workflow (references non-existent npm run update-schemas and old v1 OpenAPI architecture) - Add "Updating the SDK When the API Changes" section to README - Fix CLI examples in README to match actual syntax Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CLI demo: https://www.loom.com/share/2d81ef722e71484d978de208f08bffd5
Summary
Complete rebuild of the Scope3 SDK to match the live v2 Agentic Platform API. Replaces the old OpenAPI-generated code with a hand-crafted, persona-based TypeScript client.
Scope3Clientapi_calltool--personaflag, config management, and all resource commandsvalidateResourceIdon all URL path params,sanitizeForLoggingwith depth limits and proto-key filtering, Promise caching for race conditionsBreaking Changes
personain client configAuthorization: Bearerheader (wasx-scope3-api-key){ data, pagination, error }(was flat)api_calltool (was per-resource tools)Test plan
npm run type-check— 0 errorsnpm run lint— 0 errorsnpm run build— cleannpm test— 14 suites, 225 tests, all passingscope3 --persona buyer advertisers listscope3 --persona brand brands listscope3 --persona partner health